import random
import pytest


# 0代表男性 1代表女性
"""sex = random.randint(0,1)
print(sex)"""

"""
skipif：根据条件判断，跳过用例
第一个参数是表达式，如果bool是真的话，就跳过，假就执行
reason：备注信息、跳过原因
"""
"""@pytest.mark.skipif(sex==0,reason='穷')
def test_add_cart():
    print("添加购物车")"""
"""
skip：无条件跳过，标记了就不执行
reason：备注信息、跳过原因
"""
"""@pytest.mark.skip(reason = "不执行")
def test_02():
    print("我不会被执行")
"""
# 参数化
# 只有一个参数的时候
"""
parametrize：控制每一条用例的值，后面有几个参数值，就是几条用例
"""
@pytest.mark.parametrize('phone',['15948551033','13984512147','14785223654'])
def test_verify_code(phone):
    """
    第一次执行用例，phone的参数值：15948551033
    第二次执行用例，phone的参数值：13984512147
    第三次执行用例，phone的参数值：14785223654
    """
    print("测试验证码")
    print(f"获取{phone}的验证码")
class TestPar:
    @pytest.mark.parametrize('phone', ['15948551033', '13984512147', '14785223654'])
    def test_verify_code(self,phone):
        """
        第一次执行用例，phone的参数值：15948551033
        第二次执行用例，phone的参数值：13984512147
        第三次执行用例，phone的参数值：14785223654
        """
        print("测试验证码")
        print(f"获取{phone}的验证码")
# 多个参数的时候
@pytest.mark.parametrize('phone,code',[("15948551033",'1509'),("13984512147",'7381'),('14785223654','7906')])
def test_verify_code1(phone,code):
    """
    第一次执行用例：phone为15948551033，code为1509
    第二次执行用例：phone为13984512147，code为7381
    第二次执行用例：phone为14785223654，code为7906
    """
    print(f"获取{phone}的验证码为：{code}")



